import pathlib as ptl
from string import Template

# 获取项目根目录
workspace_folder = ptl.Path(__file__).parent
wk_fd_str = workspace_folder.as_posix()

# 定义 .clangd 模板
clangd_content = f'''CompileFlags:
  # 添加头文件搜索路径
  Add:
    - "-I{wk_fd_str}/vcpkg_installed/x64-windows/include"
    - "-L{wk_fd_str}/vcpkg_installed/x64-windows/lib"

    # 添加预定义宏（可选）
    # - "-DDEBUG_MODE=1"

    # 指定 C++ 标准（可选）
    - "-std=c++17"

    # 链接库目录（-L 参数, clangd 会解析库中的符号）
    # - "-L{wk_fd_str}/lib"
    # - "-L/usr/local/custom_libs" # 绝对路径示例

  # 移除干扰性编译标志（可选）
  Remove:
    - "-march=*" # 移除所有 -march 参数
'''

# 写入 .clangd 文件
with open(workspace_folder / '.clangd', 'w', encoding='utf-8') as f:
    f.write(clangd_content)

print(f'.clangd generated: {workspace_folder}')
